package com.yuandian.business.monitor.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuandian.api.business_monitor.po.AlarmParams;
import com.yuandian.api.business_monitor.po.ItSegmentDataParams;
import com.yuandian.api.business_monitor.po.SegmentOverviewParams;
import com.yuandian.api.business_monitor.vo.NetworkElement;
import com.yuandian.api.business_monitor.vo.NetworkElementTop;
import com.yuandian.api.business_monitor.vo.SegmentDetailVo;
import com.yuandian.api.business_monitor.vo.SegmentOverviewVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 说明：IT端信息mapper
 *
 * @Author yanjun
 * @Date 2020/9/21 15:33
 */
@Mapper
public interface SegmentMapper {


	/**
	 * 查询端运行详情数据
	 *
	 * @param params It路径图端查询参数对象
	 * @return 端运行详情对象集合
	 */
	List<SegmentDetailVo> querySegmentDetail(@Param("params") ItSegmentDataParams params);


	/**
	 * 查询网端告警类型占比数据
	 *
	 * @param params    参数
	 * @return 通用返回对象
	 */
	List<SegmentOverviewVo> querySegmentAlarmProportion(@Param("params") AlarmParams params);


	/**
	 * 查询网元详情
	 *
	 * @param page
	 * @param params
	 * @return
	 */
	Page<NetworkElement> queryNetworkElementBysegmentId(Page<NetworkElement> page, @Param("params") SegmentOverviewParams params);

	NetworkElementTop queryNetworkElementTop(@Param("params") SegmentOverviewParams params);

}
